/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package DAO;

import Conexion.Conexion;
import VO.administrativo;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;

/**
 *
 * @author JesseniaJL
 */
public class AdministrativoDAO {
    
      Conexion con;
      public AdministrativoDAO() throws Exception
    {
        con = new Conexion();
        con.ConexionPostgres();
    }
      
    public void registrar_administrativo(String documento_administrativo,
                  String primer_nombre_administrativo, String segundo_nombre_administrativo, String primer_apellido_administrativo, 
                 String segundo_apellido_administrativo, String direccion_administrativo, String telefono_administrativo, 
                 String sexo_administrativo, String fecha_nacimiento_administrativo, String correo_administrativo, 
                 String password_administrativo, String municipio_nacimiento_administrativo, String id_municipio, String id_tipo_documento,
                 String id_rol, String id_grupo) throws Exception // CREAR estudiante
    {   
        String msj="";
       
       //int id_estudiant=Integer.parseInt(id_estudiante);
       int id_grup=Integer.parseInt(id_grupo);
       int id_ro=Integer.parseInt(id_rol);
       int id_municipi=Integer.parseInt(id_municipio);
       int id_tipo_document=Integer.parseInt(id_tipo_documento);
              
       SimpleDateFormat sdf= new SimpleDateFormat("dd-MM-yyyy");
       java.util.Date fecha=sdf.parse(fecha_nacimiento_administrativo);
       System.out.println("pri: "+fecha); 
        
       
        String sql="select * from administrativo where documento_administrativo='"+documento_administrativo+"'";
   
        ResultSet rs = con.consultar(sql);
        
        if(!rs.next())
        {
          String consulta = "insert into administrativo(documento_administrativo,"
                  + "primer_nombre_administrativo, segundo_nombre_administrativo, primer_apellido_administrativo, "
                  + "segundo_apellido_administrativo, direccion_administrativo, telefono_administrativo, sexo_administrativo,"
                  + "fecha_nacimiento_administrativo, correo_administrativo, password_administrativo, municipio_nacimiento_administrativo, "
                  + "id_municipio, id_tipo_documento, id_rol, id_grupo) "
                  + "values('"+documento_administrativo+"','"
                  +"','"+primer_nombre_administrativo+"','"+segundo_nombre_administrativo+"','"+primer_apellido_administrativo
                  +"','"+segundo_apellido_administrativo+"','"+direccion_administrativo+"','"+telefono_administrativo
                  +"','"+sexo_administrativo
                  +"','"+fecha+"','"+correo_administrativo+"','"+password_administrativo+"','"+municipio_nacimiento_administrativo
                  +"','"+id_municipi+"','"+id_tipo_document+"','"+id_ro
                  +"','"+id_grup+"')";
          con.actualizar(consulta);
          msj="ADMINISTRATIVO CREADO";
        }
        else
        {
            msj="YA EXISTE UN ADMINISTRATIVO CON ESTE DOCUMENTO";
        }
        System.out.println(msj);
    }
    
    public ArrayList Consultar_Administrativo(String cod) throws SQLException, ParseException
    {
        ArrayList lista = new ArrayList();
        administrativo adm = null;
        
        String query = "select * from administrativo where documento_administrativo='" + cod + "'";

        ResultSet rsu = con.consultar(query);
        while (rsu.next()) 
        {
                adm = new administrativo();
                
                adm.setid_administrativo(rsu.getString("id_administrativo"));
                adm.setdocumento_administrativo(rsu.getString("documento_administrativo"));
                
                adm.setprimer_nombre_administrativo(rsu.getString("primer_nombre_administrativo"));
                adm.setsegundo_nombre_administrativo(rsu.getString("segundo_nombre_administrativo"));
                adm.setprimer_apellido_administrativo(rsu.getString("primer_apellido_administrativo"));
                adm.setsegundo_apellido_administrativo(rsu.getString("segundo_apellido_administrativo"));
                adm.setdireccion_administrativo(rsu.getString("direccion_administrativo"));
                adm.settelefono_administrativo(rsu.getString("telefono_administrativo"));
                adm.setsexo_administrativo(rsu.getString("sexo_administrativo"));
                adm.setfecha_nacimiento_administrativo(rsu.getString("fecha_nacimiento_administrativo"));
                adm.setcorreo_administrativo(rsu.getString("correo_administrativo"));
                adm.setpassword_administrativo(rsu.getString("password_administrativo"));
                adm. setmunicipio_nacimiento_administrativo(rsu.getString("municipio_nacimiento_administrativo"));
                adm.setid_municipio(rsu.getString("id_municipio"));
                adm.setid_tipo_documento(rsu.getString("id_tipo_documento"));
                adm.setid_rol(rsu.getString("id_rol"));
                adm.setestado(rsu.getString("estado"));
              

                lista.add(adm);

         }
        return lista;
    }
    
    public ArrayList Consultar_Administrativo() throws SQLException, ParseException
    {
        ArrayList lista = new ArrayList();
       administrativo adm = null;
        
        String query = "SELECT *  FROM  administrativo order by id_ administrativo ASC";

        ResultSet rsu = con.consultar(query);
        while (rsu.next()) 
        {
                adm = new  administrativo();
                
                adm.setid_administrativo(rsu.getString("id_administrativo"));
                adm.setdocumento_administrativo(rsu.getString("documento_administrativo")); 
                adm.setprimer_nombre_administrativo(rsu.getString("primer_nombre_administrativo"));
                adm.setsegundo_nombre_administrativo(rsu.getString("segundo_nombre_administrativo"));
                adm.setprimer_apellido_administrativo(rsu.getString("primer_apellido_administrativo"));
                adm.setsegundo_apellido_administrativo(rsu.getString("segundo_apellido_administrativo"));
                adm.setdireccion_administrativo(rsu.getString("direccion_administrativo"));
                adm.settelefono_administrativo(rsu.getString("telefono_administrativo"));
                adm.setsexo_administrativo(rsu.getString("sexo_administrativo"));
                adm.setfecha_nacimiento_administrativo(rsu.getString("fecha_nacimiento_administrativo"));
                adm.setcorreo_administrativo(rsu.getString("correo_administrativo"));
                adm.setpassword_administrativo(rsu.getString("password_administrativo"));
                adm. setmunicipio_nacimiento_administrativo(rsu.getString("municipio_nacimiento_administrativo"));
                adm.setid_municipio(rsu.getString("id_municipio"));
                adm.setid_tipo_documento(rsu.getString("id_tipo_documento"));
                adm.setid_rol(rsu.getString("id_rol"));
                adm.setestado(rsu.getString("estado"));

                lista.add(adm);

         }
        return lista;
    }
    
    public ArrayList Login_administrativo(String documento_administrativo,String password_administrativo) throws SQLException, ParseException
    {
        ArrayList lista = new ArrayList();
        administrativo adm = null;
        
        String query = "SELECT *  FROM administrativo WHERE documento_administrativo= '"+documento_administrativo+"'  AND password_administrativo='"+password_administrativo+"' LIMIT 1";

        ResultSet rsu = con.consultar(query);
        while (rsu.next()) 
        {
                adm = new administrativo();
                
                adm.setid_administrativo(rsu.getString("id_administrativo"));
                adm.setdocumento_administrativo(rsu.getString("documento_administrativo"));
                //est.setnombre_acudiente(rsu.getString("nombre_acudiente"));
                adm.setprimer_nombre_administrativo(rsu.getString("primer_nombre_administrativo"));
                adm.setsegundo_nombre_administrativo(rsu.getString("segundo_nombre_administrativo"));
                adm.setprimer_apellido_administrativo(rsu.getString("primer_apellido_administrativo"));
                adm.setsegundo_apellido_administrativo(rsu.getString("segundo_apellido_administrativo"));
                adm.setdireccion_administrativo(rsu.getString("direccion_administrativo"));
                adm.settelefono_administrativo(rsu.getString("telefono_administrativo"));
                adm.setsexo_administrativo(rsu.getString("sexo_administrativo"));
                adm.setfecha_nacimiento_administrativo(rsu.getString("fecha_nacimiento_administrativo"));
                adm.setcorreo_administrativo(rsu.getString("correo_administrativo"));
                adm.setpassword_administrativo(rsu.getString("password_administrativo"));
                adm.setmunicipio_nacimiento_administrativo(rsu.getString("municipio_nacimiento_administrativo"));
                adm.setid_municipio(rsu.getString("id_municipio"));
                adm.setid_tipo_documento(rsu.getString("id_tipo_documento"));
                adm.setid_rol(rsu.getString("id_rol"));
                adm.setestado(rsu.getString("estado"));
                //est.setid_grupo(rsu.getString("id_grupo"));

                lista.add(adm);

         }
        return lista;
    }
    
    
    
    
    
}
